home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 30 / PC Gamer IT CD 30 1-2.iso / MOTS / GAMEDATA / RESOURCE / JKMRES.GOO / cog_actor_atstdriver.cog < prev    next >
Text File  |  1998-02-25  |  2KB  |  98 lines

  1. # Jedi Knight Cog Script
  2. #
  3. # ACTOR_ATST.COG
  4. #
  5. #
  6. # Actor COG for Standard ATST
  7. # Possibly creates ATAT driver upon death
  8. # Resitances to certain types of damage
  9. #
  10. # [CR]
  11. #
  12. # (C) 1997 LucasArts Entertainment Co. All Rights Reserved
  13. #
  14. # ========================================================================================
  15.  
  16. symbols
  17.  
  18. message         killed
  19. message         skill
  20. message         damaged
  21.  
  22. template        pilot=ATATpilot        local
  23. template        pilot2=ATATpilot         local
  24. template        explosion=+atst_exp     local
  25. thing           newThing                local
  26. flex            rval                    local
  27. flex            damageType              local
  28. flex            damageAmount            local
  29. flex            totalDamage             local
  30. int             player                  local
  31.  
  32. end
  33.  
  34. # ========================================================================================
  35.  
  36. code
  37.  
  38. killed:
  39.    rval = Rand();
  40.    if (rval < 0.45)
  41.    {
  42.       newThing = CreateThing(explosion, GetSenderRef());
  43.       newThing = CreateThing(pilot, GetSenderRef());
  44.    }
  45.    else if (rval < 0.60)
  46.    {
  47.       newThing = CreateThing(explosion, GetSenderRef());
  48.       newThing = CreateThing(pilot2, GetSenderRef());
  49.    }
  50.    else
  51.    {
  52.       newThing = CreateThing(explosion, GetSenderRef());
  53.       newThing = CreateThing(pilot, GetSenderRef());
  54.       DamageThing(newThing, 1000.0, 0x2, -1);
  55.    }
  56.    return;
  57.  
  58. # ........................................................................................
  59.  
  60. skill:
  61.    ReturnEx(-1);
  62.    return;
  63.  
  64. # ........................................................................................
  65.  
  66. damaged:
  67.    damageAmount = GetParam(0);
  68.    damageType = GetParam(1);
  69.  
  70.    totalDamage = damageAmount;
  71.  
  72.    if(BitTest(damageType, 0x01))
  73.       totalDamage = damageAmount * 0.0;
  74.    else if(BitTest(damageType, 0x02))
  75.       totalDamage = damageAmount * 0.25;
  76.    else if(BitTest(damageType, 0x10))
  77.       totalDamage = damageAmount * 0.5;
  78.  
  79.    player = GetLocalPlayerThing();
  80.  
  81.    if(GetThingParent(GetSourceRef()) == player)
  82.    {
  83.       if(GetCurWeapon(player) == 1)
  84.       {
  85.          if(GetThingHealth(player) > 1)
  86.          {
  87.             DamageThing(player, 1, 0x1, player);
  88.          }
  89.       }
  90.    }
  91.  
  92.    ReturnEx(totalDamage);
  93.  
  94.    return;
  95.  
  96. end
  97.  
  98.